1. Technical Field
This application generally relates to resource consumption and, more particularly, techniques for regulating resource consumption.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more host processors and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
A host may perform a variety of data processing tasks and operations using the data storage system. For example, a host may perform basic system I/O (input/output) operations in connection with data requests, such as data read and write operations.
Host systems may store and retrieve data using a data storage system containing a plurality of host interface units, disk drives, and disk interface units. Such data storage systems are provided, for example, by EMC Corporation of Hopkinton, Mass. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the data storage system directly, but rather, access what appears to the host systems as a plurality of logical units, logical devices or logical volumes. The logical units may or may not correspond to the actual physical disk drives. Allowing multiple host systems to access the single data storage system allows the host systems to share data stored therein.
In connection with data storage, a variety of different technologies may be used. Data may be stored, for example, on different types of disk devices and/or flash memory devices. The data storage environment may define multiple storage tiers in which each tier includes physical devices or drives of varying technologies, performance characteristics, and the like. The physical devices of a data storage system, such as a data storage array, may be used to store data for multiple applications.
An application may execute on a host where the application performs I/O operations. Different techniques may be used in connection with partitioning the resources of the data storage system, or more generally, any system, used by multiple applications, or more generally consumers of the resources or tenants of the system. Storage groups of logical devices may be defined where each such storage group may be used by one or more applications. In some systems, fixed static limits may be imposed and enforced per storage group of logical devices, per logical device, and the like, in connection with resource partitioning on the data storage system. For example, a static limit of a particular amount of cache or other resource of the data storage system may be specified for each logical device so that data operations directed to the storage group are subject to the static limit specifying a maximum amount of the resource that may be used with respect to data operations directed to the logical device.